package org.java.io;

import java.util.Locale;
import java.util.ResourceBundle;

/**
 * 测试 java.util.ResourceBundle 类<br/>
 * 该类用来读取国际化资源文件（也就是各种语言的propertie文件）<br/><br/>
 * 当在中文操作系统下，如果myres_zh_CN.properties、myres.properties两个文件都存在，则优先会使用myres_zh_CN.properties，当myres_zh_CN.properties不存在时候，会使用默认的myres.properties。
 * 没有提供语言和地区的资源文件是系统默认的资源文件。<br/><br/>
 资源文件都必须是ISO-8859-1编码，因此，对于所有非西方语系的处理，都必须先将之转换为Java Unicode Escape格式。转换方法是通过JDK自带的工具native2ascii.<br/><br/>
 * Created by Administrator on 2016/11/25.
 */
public class ResourceBundleTest {

    public static void main(String[] args) {

        // 指定读取 myres_zh_CN.properties
        Locale locale1 = new Locale("zh", "CN");
        ResourceBundle resb1 = ResourceBundle.getBundle("resource/myres", locale1);
        System.out.println(resb1.getString("aaa"));

        // 在中文环境下，默认读取 myres_zh_CN.properties
        ResourceBundle resb2 = ResourceBundle.getBundle("resource/myres", Locale.getDefault());
        System.out.println(resb2.getString("aaa"));

        // 指定读取 myres_en_US.properties
        Locale locale3 = new Locale("en", "US");
        ResourceBundle resb3 = ResourceBundle.getBundle("resource/myres", locale3);
        System.out.println(resb3.getString("aaa"));
    }
}
